#ifndef IMAGE_MANAGER_H
#define IMAGE_MANAGER_H

#include "SFML/Graphics.hpp"
#include <string>
#include <map>

typedef std::map<std::string, sf::Image> ImageList;

class ImageManager
{
    ImageManager();
    static ImageManager* m_instance;

public:
    ~ImageManager();
    static ImageManager* getInstance();

    sf::Image& getImage(std::string name);

    void cleanup();

private:
    sf::Image& m_addImage(std::string name);
    ImageList m_images;
    ImageList::iterator m_iterator;
};

#endif
